import request from ".."

/**
 * @method getAdminMenu 获取后端动态路由菜单(admin)
 * @method getTestMenu 获取后端动态路由菜单(test)
 */
export function useMenuApi() {
    return {
        getAdminMenu: (params?: object) => {
            return request.get({
                url: "/gitee/lyt-top/vue-next-admin-images/raw/master/menu/adminMenu.json",
                params,
            })
        },
        getTestMenu: (params?: object) => {
            return request.get({
                url: "/gitee/lyt-top/vue-next-admin-images/raw/master/menu/testMenu.json",
                params,
            })
        },
    }
}

/**
 * 获取系统字典
 *
 * @param params 请求参数
 * @returns 系统字典数据
 */
export function getSysDict(params: object) {
    return request.get({
        url: "/sys/findSysDic",
        params: params,
    })
}

/**
 * 发送 GET 请求获取分页列表数据
 *
 * @param pageName 页面名称
 * @param queryInfo 查询参数
 * @returns 返回请求结果
 */
export function postPageListData(pageName: any, queryInfo: any) {
    return request.get({
        url: `${pageName}`,
        params: queryInfo,
    })
}

/**
 * 根据ID删除页面
 *
 * @param url 请求的URL地址
 * @param id 页面的ID
 * @returns 返回请求结果
 */
export function deletepageById(url: string, id: any) {
    return request.get({
        url: url,
        params: id,
    })
}

/**
 * 发送请求新增页面数据
 *
 * @param url 请求的URL地址
 * @param method 请求的方法，如 GET、POST 等
 * @param pageInfo 页面信息参数
 * @returns 返回请求结果
 */
export function newPageData(url: string, method: string, pageInfo: any) {
    return request.request({
        url: url,
        method: method,
        params: pageInfo,
    })
}

/**
 * 编辑页面数据
 *
 * @param url 请求的URL地址
 * @param method 请求的方法，如 GET、POST 等
 * @param pageInfo 页面信息参数
 * @returns 返回请求结果
 */
export function editPageData(url: string, method: string, pageInfo: any) {
    return request.request({
        url: url,
        method: method,
        params: pageInfo,
    })
}

/**
 * 图片上传接口
 * @param data
 * @returns {*|AxiosPromise<any>}
 */
export const fileUpload = (file: any) => {
    return request.post({
        url: "/wpbg/uploadWpbgzp",
        headers: { "Content-Type": "multipart/form-data" },
        data: {
            file: file,
            type: "oss",
            code: 100,
        },
    })
}

/**
 * 表格导入
 * @param data
 * @returns {*|AxiosPromise<any>}
 */
export const importExcel = (url: string, file: any) => {
    return request.post({
        url: url,
        headers: { "Content-Type": "multipart/form-data" },
        data: {
            file: file,
        },
    })
}
